`timescale  1ns / 1ps

module present_tb;

// present_encryptor_top Parameters
parameter PERIOD  = 10;

// present_encryptor_top Inputs
reg   [79:0]  key_in = 0 ;
reg   [63:0]  data_in = 0 ;
reg   clk = 0 ;
reg   en = 0 ;

// present_encryptor_top Outputs
wire  [63:0]  data_out;
wire  valid;
  
initial begin   //创建vcd文件
    $dumpfile("present_tb.vcd");
    $dumpvars;
end

initial begin
    forever #(PERIOD/2)  clk=~clk;
end

present_encryptor_top  present_encryptor_top (
    .key_in(key_in[79:0]),
    .data_in(data_in[63:0]),
    .clk(clk),
    .en(en),
    .data_out(data_out[63:0]),
    .valid(valid)
);

initial begin
    en=0;
    key_in=80'hffff_ffff_ffff_ffff_ffff;
    data_in=64'hffff_ffff_ffff_ffff;
    #10
    en=1;
    #10
    en=0;
    #600;
    key_in=80'h0000_0000_0000_0000_0000;
    data_in=64'h0000_0000_0000_0000;
    #10
    en=1;
    #10
    en=0;
    #600;

    $finish;
end
 
 
endmodule

